package com.wf.course.dao;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.utils.page.PageBean;
import com.wf.course.model.member.Member;

/**
 * 播放记录
 *
 */
public interface IMemberMapper {

	/**
	 * 根据pageBean中封装的查询条件查询
	 * @param pageBean
	 * @return
	 */
	public List<Member> queryList(PageBean<Member> pageBean);
	/**
	 * 查询总数量
	 * @param pageBean
	 * @return
	 */
	public Integer getTotalCount(PageBean<Member> pageBean);
	/**
	 * 添加
	 * @param 
	 */
	public void saveMember(Member member);
	/**
	 * 修改
	 * @param 
	 */
	public void updateMember(Member member);
	/**
	 * 查询
	 * @param id
	 */
	public Member queryMemberById(@Param("userId")Integer userId);
	/**
	 * 删除
	 * @param id
	 */
	public void deleteById(@Param("userId")Integer userId);
	/**
	 * 查询
	 */
	public List<Member> queryMembers();
	
	/**
	 * 根据电话查找
	 */
	public List<Member> queryMembersByTelAndId(@Param("telephone")String telephone,@Param("userId")Integer userId);
	
	/**
	 * 根据电话查找-订单
	 */
	public List<Member> queryMembersByTelephone(@Param("telephone")String telephone);
	
	/**
	 * 查询所有在平台消费的客户
	 */
	public List<Member> queryCustoms();
	
	/**
	 * 获取批量赠送优惠券人员信息：列表
	 * @param pageBean
	 * @return
	 */
	public List<Member> queryAllowGiftMember(PageBean<Member> pageBean);
	
	/**
	 * 获取批量赠送优惠券人员信息：数量
	 * @param pageBean
	 * @return
	 */
	public Integer queryAllowGiftMemberCount(PageBean<Member> pageBean);
	
	/**
	 * 获取批量赠送优惠券人员信息：列表
	 * 规则：根据订单关系表查询
	 * @param pageBean
	 * @return
	 */
	public List<Member> queryAllowGiftMemberNew(PageBean<Member> pageBean);
	
	/**
	 * 获取批量赠送优惠券人员信息：数量
	 *  规则：根据订单关系表查询
	 * @param pageBean
	 * @return
	 */
	public Integer queryAllowGiftMemberCountNew(PageBean<Member> pageBean);
	
	/**
	 * 获取批量赠送优惠券人员信息：所有用户ID集合
	 * @param pageBean
	 * @return
	 */
	public List<String> getAllMemberUserId(PageBean<Member> pageBean);

	public List<String> getAllMemberUserIdByRightJoin(PageBean<Member> pageBean);

	public List<Member> getUserid(@Param("userId")Integer userId);
}
